home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / CHIP Kasım 1998.iso / emulators / atari2600 / stelw07aw95.exe / STELLA.TXT < prev    next >
Text File  |  1997-06-07  |  30KB  |  857 lines

  1. ===============================================================================
  2.  
  3.                       SSSS    tt          lll  lll
  4.                      SS  SS   tt           ll   ll
  5.                      SS     tttttt  eeee   ll   ll   aaaa
  6.                       SSSS    tt   ee  ee  ll   ll      aa
  7.                          SS   tt   eeeeee  ll   ll   aaaaa
  8.                      SS  SS   tt   ee      ll   ll  aa  aa
  9.                       SSSS     ttt  eeeee llll llll  aaaaa
  10.  
  11.                     A Multi-platform Atari 2600 VCS Emulator
  12.  
  13.                                   User Guide
  14. ===============================================================================
  15.         A Bradford W. Mott production in association with Aaron Giles,
  16.                Seunghee Lee, Jeff Miller, and Darrell Spice Jr.
  17. ===============================================================================
  18.  
  19. This guide explains how to install and use Stella to play Atari 2600 VCS
  20. games on your computer.  Please read this guide throughly before sending 
  21. questions to anyone.  If you don't find the answers to your questions in 
  22. this guide please see the FAQ found on the Stella homepage.  If you have
  23. any suggestions for improvements to this document or to Stella please 
  24. send them to bwmott@eos.ncsu.edu.
  25.  
  26. DO NOT SEND EMAIL ASKING FOR ROMS BECAUSE THEY ARE COPYRIGHTED.  DO NOT
  27. SEND EMAIL ASKING FOR THE LOCATION OF ROMS ON THE INTERNET.  ANY MAIL 
  28. RECEIVED OF THIS NATURE WILL BE DELETED AND NO RESPONSE GIVEN.
  29.  
  30.  
  31. Stella License Information and Copyright Notice
  32. ===============================================
  33.  
  34. Stella is Copyright(c) 1995, 1996, 1997 by Bradford W. Mott.
  35.  
  36. Permission to use, copy, and distribute Stella in its entirety, for
  37. non-commercial purposes, is hereby granted without fee, provided that
  38. this license information and copyright notice appear in all copies.
  39.  
  40. If you redistribute Stella, the entire contents of this distribution
  41. must be distributed.  The software may be modified for your own
  42. purposes, but modified versions may NOT be distributed without prior
  43. consent from the author.
  44.  
  45. This software is provided 'as-is', without any expressed or implied
  46. warranty.  In no event will the author be held liable for any damages
  47. arising from the use of this software.
  48.  
  49. If you would like to do something with Stella that this copyright
  50. prohibits (such as distributing it with a commercial product, using
  51. portions of the source in some other program, etc.), please contact
  52. the author.
  53.  
  54. The author can be contacted via:
  55.  
  56.    email:    bwmott@eos.ncsu.edu
  57.  
  58.    mail:     Bradford Mott
  59.              Graduate Student
  60.              Department of Computer Science
  61.              North Carolina State University
  62.              Raleigh, NC 27695-8206, U.S.A.
  63.  
  64.  
  65. TiaSound Library Copyright Notice
  66. ==================================
  67.  
  68. (Stella uses the TiaSound library written by Ron Fries.  It can be be 
  69. downloaded from the Stella home page.)
  70.  
  71. TiaSound is Copyright(c) 1996, 1997 by Ron Fries
  72.  
  73. This library is free software; you can redistribute it and/or modify it under 
  74. the terms of version 2 of the GNU Library General Public License as published 
  75. by the Free Software Foundation.
  76.  
  77. This library is distributed in the hope that it will be useful, but WITHOUT 
  78. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
  79. FOR A PARTICULAR PURPOSE.  See the GNU Library General Public License for more 
  80. details.
  81.  
  82. To obtain a copy of the GNU Library General Public License, write to the Free 
  83. Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  84.  
  85. Any permitted reproduction of these routines, in whole or in part, must bear 
  86. this legend.  
  87.  
  88.  
  89. Table of Contents
  90. =================
  91.  
  92.   1.0 Introduction
  93.  
  94.   2.0 Installation
  95.  
  96.     2.1 Linux Binary Distribution
  97.     2.2 DOS Binary Distribution
  98.     2.3 Power Mac Binary Distribution
  99.     2.4 Windows 95 & NT Binary Distribution
  100.     2.5 Unix Source Code Distribution
  101.  
  102.   3.0 ROM Images
  103.  
  104.     3.1 General
  105.     3.2 Supercharger
  106.   
  107.   4.0 Playing Games
  108.  
  109.     4.1 Unix and DOS
  110.     4.2 Power Macs
  111.     4.3 Windows 95 & NT
  112.  
  113.   5.0 Keyboard Layout
  114.  
  115.   6.0 Mailing List
  116.  
  117.   7.0 Known problems with Cartridges
  118.  
  119.   8.0 Adding Properties
  120.  
  121.   9.0 Property Autodetection
  122.  
  123.  10.0 Acknowledgements
  124.  
  125.  11.0 Revision History
  126.  
  127.  
  128. 1.0 Introduction
  129. ================
  130.  
  131. Stella is a portable emulator of the old Atari 2600 video-game console
  132. written in C++.  You can play most Atari 2600 games with it.  The latest 
  133. news, code and binaries for Stella can be found at:
  134.  
  135.   http://www4.ncsu.edu/~bwmott/2600/
  136.  
  137. If you are having problems with Stella please visit the home page and
  138. make sure you're running the lastest release before sending mail.  There
  139. are versions of Stella for Linux, DOS, OS/2, Power Macs, Unix/X, and 
  140. Windows.  The maintainers are:
  141.  
  142.   Aaron Giles (agiles@sirius.com)           Power Macs
  143.   Jeff Miller (milnak@msn.com)              Windows 95 & NT
  144.   Bradford W. Mott (bwmott@eos.ncsu.edu)    Linux, Unix/X and DOS
  145.   Darrell Spice Jr. (spice@ibm.net)         OS/2
  146.  
  147. If you would like to port Stella to another platform or would like to
  148. help with something please take a look at the Todo.txt file for a list
  149. of things that need to be done.   Please note that although the source 
  150. code for Stella is freely distributed the code is NOT public domain.
  151.  
  152.  
  153. 2.0 Installation
  154. ================
  155.  
  156. Once you've downloaded a Stella distribution you should follow the 
  157. directions for the distribution you have.  
  158.  
  159. 2.1 Linux Binary Distribution
  160. -----------------------------
  161.  
  162. This distribution contains the ELF binaries for Linux.  The binaries were
  163. built on a machine running Red Hat Linux 4.1.  If these binaries do not
  164. work on your system then download the Unix/X source code distribution and 
  165. compile it yourself.  To install the distribution do the following:
  166.  
  167.   1) Untar the distribution: tar -zxvf stella-0.7-linux.tar.gz
  168.  
  169.   2) Login as root (or su) and cd to the distribution directory
  170.  
  171.   3) Copy the executables: cp stella xstella stella-sound /usr/local/bin
  172.  
  173.   4) Fix permissions: chmod u+s /usr/local/bin/stella
  174.  
  175.   5) You may also need to execute 'chmod a+rw /dev/ttyS0' to get the paddles
  176.      to work under SVGALIB
  177.  
  178. The binaries were built with joystick support so if you have a joystick
  179. module installed, such as joystick-0.8.0.tar.gz, you'll be able to use
  180. your joysticks.  The stella-sound program must be in your PATH when you
  181. run Stella if you want sound to work.
  182.  
  183. 2.2 DOS Binary Distribution
  184. ---------------------------
  185.  
  186. This distribution contains the binaries for DOS.  To install the
  187. distribution do the following:
  188.  
  189.   1) Change directories to the root directory: CD \
  190.  
  191.   2) Execute the self-extracting archive: STELLA07.EXE
  192.  
  193.   3) Copy the STELLA.EXE program to a directory in your path or
  194.      add C:\STELLA to your path in the AUTOEXEC.BAT file
  195.  
  196. This version of Stella supports sound using a Sound Blaster card.  For
  197. it to work correctly you should set the BLASTER environment variable in
  198. your AUTOEXEC.BAT file.  If your card is at port 220, IRQ 5 and DMA 1 
  199. then you shouldn't need to set the variable.  Sound cards with an
  200. IRQ setting greater than 7 should be working now.
  201.  
  202. If you have problems with the joysticks you may have to unplug them
  203. to use Stella.
  204.  
  205. This version also includes a zip file, gamemenu.zip, containing Jim Pragit's 
  206. "Game Menu".  Game Menu provides a nice menu based interface to Stella for 
  207. DOS.  To use Game Menu you need to unzip it in the directory where you 
  208. installed Stella.  If you installed Stella in \Stella\ then:
  209.  
  210.   cd \Stella\
  211.   unzip gamemenu.zip
  212.  
  213. Then read the file gamemenu.txt for more information about Game Menu.
  214.  
  215. 2.3 Power Mac Binary Distribution
  216. ---------------------------------
  217.  
  218. This distribution contains the binaries for Power Macs.  To install
  219. the distribution do the following:
  220.  
  221.   1) Decode the .hqx file (if it hasn't already been done)
  222.  
  223.   2) Double-click the .sea file and extract the contents somewhere on
  224.      your hard disk
  225.  
  226. The Power Macintosh version of Stella should work with most joysticks that
  227. emulate the keyboard (i.e., most of them).  No configuration files are
  228. provided, however.
  229.  
  230. 2.4 Windows 95 & NT Binary Distribution
  231. ---------------------------------------
  232.  
  233. This distribution contains the binaries for Windows 95 & NT.  To install
  234. the distribution do the following:
  235.  
  236.   1) Unzip the distribution stella-0.7-win32.zip
  237.  
  238.   2) Execute the setup.exe program
  239.  
  240.   3) Follow the on screen instructions to install Stella
  241.  
  242. The Windows version of Stella includes joystick support, however, it does
  243. not support paddles.
  244.  
  245. 2.5 Unix Source Code Distribution
  246. ---------------------------------
  247.  
  248. This distribution contains the source code for Stella.  The source code
  249. can be compiled under most Unix operating systems and DOS.  The Unix 
  250. code has been developed with GCC 2.7.2, however, it should compile with 
  251. other C++ compilers.  You'll need SVGALIB 1.2.10 or better to compile 
  252. the SVGALIB version of Stella.  The DOS port has been developed with 
  253. Watcomm and DJGPP, however, it may compile with others.
  254.  
  255.   1) Change directories to the .../stella-0.7/src directory
  256.  
  257.   2) Edit the makefile to meet your needs
  258.  
  259.   3) Type 'make' and follow the on screen instructions to build Stella
  260.  
  261.   4) Install Stella in a directory that's in your path
  262.  
  263.   5) Change directories to the .../stella-0.7/src/sound directory
  264.  
  265.   6) Type 'make' and follow the on screen instructions to build stella-sound
  266.  
  267.   7) Install stella-sound in a directory that's in your path
  268.  
  269. At this time there is no support for sound under Unix except for Linux. If
  270. you have some free time please try to port the stella-sound program to your
  271. favorite Unix.
  272.  
  273.  
  274. 3.0 ROM Images
  275. ==============
  276.  
  277. In order to play an Atari 2600 game you have to have a ROM image of the 
  278. game.  A ROM image is a file that contains the data off the game cartridge 
  279. or cassette.
  280.  
  281. 3.1 General
  282. -----------
  283.  
  284. Most games for the Atari 2600, like many game systems, were stored on 
  285. cartridges.  These cartridges usually contained a single ROM chip (Read 
  286. Only Memory) which had the program for the game stored on it.  When you 
  287. plugged the cartridge into the 2600 it allowed the 2600's microprocessor, 
  288. a 6507 which is very similar to a 6502, to execute the program stored
  289. on the cartridge.
  290.  
  291. Just like a cartridge had to be plugged into the 2600 you also have to
  292. supply Stella with a copy of the cartridge you want to play.  This is done
  293. by having a ROM image (.BIN file) of the cartridge.  ROM images are files 
  294. which contain the actual data off the cartridge (basically it contains 
  295. 6507 machine code).  There are several ways to get a ROM image:
  296.  
  297.   1) It's possible to build a device that plugs into the printer port
  298.      of a PC and reads the data off the cartridge (See the Stella home 
  299.      page for more information)
  300.  
  301.   2) Purchase any of the Activision Atari 2600 Action Packs and use the
  302.      ROM images (.BIN files) from it
  303.  
  304.   3) Search around the net and find some ROM images (.BIN files) to download
  305.  
  306.   WARNING: It is illegal to have ROM images of games that you do not
  307.            actually own (i.e. you don't own the cartridge and you 
  308.            didn't buy it from Activision)
  309.  
  310. In addition to the ROM image you may need to supply some properties for 
  311. the game.  These properties inform Stella of the "best" settings for a 
  312. game.  When Stella doesn't have properties for a game it tries to guess 
  313. the settings and uses defaults for settings it can't guess.  For most 
  314. games you will NOT need to add properties to Stella since it contains 
  315. setting for a lot of games and can guess the settings for most of the 
  316. others, however, for best results you may decide you want to specify the 
  317. properties yourself.  If you do you should read the "Adding Properties" 
  318. section of this guide.
  319.  
  320. 3.1 Supercharger
  321. ----------------
  322.  
  323. Supercharger games were not stored on cartridges instead they were
  324. stored on cassette tapes. The Supercharger, which plugged into the 
  325. Atari 2600's cartridge slot, loaded games into it's 6K of RAM using 
  326. a tape player.  The Supercharger also supported multiloading which 
  327. allowed games to be broken into several 6K pieces and loaded at 
  328. different times.  This was useful for long games that had distinct 
  329. parts (i.e. role playing type games). 
  330.  
  331. Most Supercharger ROM images are stored as an 8448 byte file.  However, 
  332. ROM images of multiload games are stored as a set of 8448 byte files.  
  333. The names of these files have a two character sequence number in them 
  334. which indicate what load they are (the sequence always starts at zero 
  335. but then skips a few numbers and then increments by one).
  336.  
  337. Stella supports multiload games, however, the set of ROM image files
  338. has to be combined into a single large ROM image file.  To create
  339. a multiload ROM image file for Stella under Unix do the following:
  340.  
  341.   % cat survivl0.bin survivl6.bin survivl7.bin > survivl.bin
  342.  
  343. Then you can play the game with Stella using the survivl.bin file. 
  344. Stella has properties builtin for most of the Supercharger games, 
  345. however, if you're developing your own Supercharger game you might
  346. need to add some properties to Stella. See the "Adding Properties" 
  347. section of this guide for more information.
  348.  
  349. It is VERY important that the "M6507.Compatiblity" property be set 
  350. to "High" for Supercharger games.  If it isn't the game will not run 
  351. correctly.  Stella automatically sets this property if it sees a ROM 
  352. image who's size is a multiple of 8448.
  353.  
  354.  
  355. 4.0 Playing Games
  356. =================
  357.  
  358. Once you've installed Stella and have some ROM images you can play 
  359. a game by following the directions for your operating system.
  360.  
  361. 4.1 Unix and DOS
  362. ----------------
  363.  
  364. The Unix and DOS versions of Stella expect you to pass the name
  365. the ROM image as a command line argument.  For example:
  366.  
  367.   stella FILENAME.BIN (xstella FILENAME.BIN for the X windows version)
  368.  
  369. For DOS you can also use Jim Pragit's "Game Menu" front end to 
  370. run Stella for you.
  371.  
  372. 4.2 Windows 95 & NT
  373. -------------------
  374.  
  375. After double-clicking on stella.exe a standard file dialog appears which
  376. allows you to select the ROM image to load.
  377.  
  378. 4.3 Power Macs
  379. --------------
  380.  
  381. After double-clicking on Stella a standard file dialog appears which
  382. asks you to choose a ROM image to load.  Or, if a ROM image has the 
  383. proper creator type ('StLa'), you can simply double-click that file 
  384. to run the game directly.
  385.  
  386.  
  387. 5.0 Keyboard Layout
  388. ===================
  389.  
  390. The following keys are used:
  391.  
  392.   [q]             Quit (Unix, DOS and Power Mac)
  393.  
  394.   [p]             Pause (Unix, DOS and others maybe?)
  395.  
  396.   [s]             Select Game
  397.   [r]             Game Reset
  398.   [c]             Color television
  399.   [b]             Black and white television
  400.  
  401.   [1]             Left player difficulty B
  402.   [2]             Left player difficulty A
  403.   [3]             Right player difficulty B
  404.   [4]             Right player difficulty A
  405.  
  406.   [Up Arrow]      Left joystick up
  407.   [Down Arrow]    Left joystick down
  408.   [Left Arrow]    Left joystick left
  409.   [Right Arrow]   Left joystick right
  410.   [Space]         Left joystick fire button 
  411.   [Enter]         Left joystick fire button
  412.  
  413.   [y]             Right joystick up
  414.   [h]             Right joystick down
  415.   [g]             Right joystick left
  416.   [l]             Right joystick right
  417.   [z]             Right joystick fire button
  418.  
  419.   [=]             Change window size (X windows)
  420.  
  421.  
  422. 6.0 Mailing List
  423. ================
  424.  
  425. There is a mailing list for Stella.  The mailing list is for discussions
  426. concerning Stella including bug reports, enhancements reports, and general 
  427. usage tips.  Anyone who uses Stella regularly should subscribe to the 
  428. mailing list.
  429.  
  430. To subscribe to the list send the following message to majordomo@csc.ncsu.edu:
  431.  
  432.   subscribe stella
  433.   end
  434.  
  435. Once you've subscribed you can send messages to everyone on the 
  436. list by mailing them to stella@csc.ncsu.edu.  Anything you mail to 
  437. stella@csc.ncsu.edu goes to everyone on the mailing list.  
  438.  
  439. Make sure you really mean to send your message to stella@csc.ncsu.edu and
  440. NOT majordomo@csc.ncsu.edu (i.e. if it's a mailing list server command it
  441. should be sent to majordomo@csc.ncsu.edu not stella@csc.ncsu.edu).
  442.  
  443. For more information on using the majordomo mailing list server send the
  444. following message to majordomo@csc.ncsu.edu:
  445.  
  446.   help
  447.   end
  448.  
  449.  
  450. 7.0 Known problems with Cartridges
  451. ==================================
  452.  
  453. This section contains information about problems I know about with 
  454. some cartridges:
  455.  
  456.   * Defender II     - This cartridge is really an F8SC cartridge, 8K with
  457.                       128 bytes of RAM, not an F6SC cartridge.  There is
  458.                       a 16K image of this cartridge floating around that
  459.                       has the right code in it, however, it's the second
  460.                       8K that's needed.  If you're running Unix you can 
  461.                       fix it with the command: 
  462.  
  463.                         tail --bytes=8192 DEFENDR2.BIN > tmp
  464.                         mv tmp DEFENDR2.BIN
  465.  
  466.                       If you're running DOS you can fix it by
  467.                       typing what's in <>s below:
  468.  
  469.                         <DEBUG DEFENDR2.BIN>
  470.                         -<RCX>
  471.                         CX 4000
  472.                         : <2000>
  473.                         -<W2100>
  474.                         Writing 02000 bytes
  475.                         -<Q>
  476.  
  477.                       (provided by plord@mail.pacificnet.net)
  478.   
  479.   * Stargate        - Same as Defender II above
  480.  
  481.  
  482. 8.0 Adding Properties
  483. =====================
  484.  
  485. Properties inform Stella of the "best" settings for a game.  Stella has 
  486. a set of builtin properties that supply default settings for all games 
  487. as well as specific settings for many games.  New properties can be added 
  488. to Stella by creating a 'stella.vcs' file in the working directory where 
  489. you run Stella.  This file should contain a VCS-Script program which sets 
  490. additional properties when Stella runs.  
  491.  
  492. For example suppose you wanted to add properties to Stella for Adventure 
  493. then you would create a file called 'stella.vcs' with a text editor and 
  494. place the following in it:
  495.  
  496. --- Beginning of 'stella.vcs' ---
  497. VCS-Script
  498. (begin
  499.  
  500.   ;;
  501.   ;; Properties for Adventure
  502.   ;;
  503.   (if (member Cartridge.Image '("ADVNTURE.BIN" "advnture.bin"))
  504.     (begin
  505.       (set! Cartridge.Name "Adventure")
  506.       (set! Cartridge.Type "4K")
  507.       (set! Display.YStart "37")
  508.       (set! Display.Height "192")
  509.       (set! Controller.Joystick1 "None")))
  510.  
  511. )
  512. --- End of 'stella.vcs' ---
  513.  
  514. A better way to do the same thing would be to use Cartridge.Id in
  515. the 'if' statement instead of Cartridge.Image, however, you would 
  516. have to lookup the Cartridge.Id on the Stella home page to do that.
  517.  
  518. --- Beginning of 'stella.vcs' ---
  519. VCS-Script
  520. (begin
  521.  
  522.   ;;
  523.   ;; Properties for Adventure
  524.   ;;
  525.   (if (member Cartridge.Id '("7decb903"))
  526.     (begin
  527.       (set! Cartridge.Name "Adventure")
  528.       (set! Cartridge.Type "4K")
  529.       (set! Display.YStart "37")
  530.       (set! Display.Height "192")
  531.       (set! Controller.Joystick1 "None")))
  532.  
  533. )
  534. --- End of 'stella.vcs' ---
  535.  
  536. A VCS-Script program has the following form:
  537.  
  538.   * The first line of the program must contain "VCS-Script" which
  539.     tells the interpreter that it is a VCS-Script program
  540.  
  541.   * The first statement following the "VCS-Script" line is executed
  542.  
  543.   * Comments can be between the "VCS-Script" line and the first statement
  544.  
  545.   * Everything after the first statement IS ignored
  546.  
  547.   * Statements have the following form:
  548.  
  549.       (set! property value)
  550.       ---------------------
  551.  
  552.       Sets the specified property to the specified value.  For example:
  553.  
  554.         (set! Cartridge.Type "4K")
  555.  
  556.  
  557.       (begin s1 s2 .. sn)
  558.       -------------------
  559.  
  560.       Compound statement that sequentially executes the sub-statements 
  561.       s1 to sn.  For example:
  562.  
  563.         (begin
  564.           (set! Cartridge.Name "Hi")
  565.           (set! Cartridge.Type "4K"))
  566.     
  567.       (member property list)
  568.       ----------------------
  569.  
  570.       Boolean expression that returns true if and only if the specified 
  571.       property's value is a member of the list.  For example:
  572.  
  573.         (member Cartridge.Image '("ADVNTURE.BIN" "advnture.bin"))
  574.  
  575.       (if bool statement)
  576.       -------------------
  577.  
  578.       Evaluates the boolean expression and executes statement if it 
  579.       is true.  For example:
  580.  
  581.         (if (member Cartridge.Image '("ADVNTURE.BIN" "advnture.bin"))
  582.           (set! Cartridge.Name "Adventure"))
  583.  
  584. That's basically it for the syntax of a VCS-Script file.  The only
  585. thing left to do is to explain the various properties, their values
  586. and their initial values.
  587.  
  588.   Property                Inital Value        Purpose    
  589.   --------                ------------        -------
  590.   Cartridge.Name          "UNKNOWN"           Full name of the game
  591.  
  592.   Cartridge.Id            Autodetected        Checksum computed from the 
  593.                                               contents of the ROM image
  594.  
  595.   Cartridge.Image         ROM image name      Filename of the game's ROM image
  596.  
  597.   Cartridge.Type          Autodetected        Cartridge bankswitching method 
  598.  
  599.                                                 2K, 3F, 4K, AR, E0, E7, F4SC,
  600.                                                 F6, F8, F8SC or FASC
  601.  
  602.                                               See bankswitching paper on
  603.                                               Stella homepage for more info
  604.  
  605.   Display.FrameRate       "60"                Number of frames to be displayed
  606.                                               per second
  607.  
  608.                                                 10, 15, 20, 30 or 60 
  609.  
  610.                                               Many games require 60
  611.  
  612.   Display.YStart          "38"                Scanline to start displaying at
  613.  
  614.                                                 0 < YStart < 100
  615.  
  616.   Display.Height          "210"               Number of scanlines to display
  617.  
  618.                                                 0 < Height < 220
  619.  
  620.   Display.XStart          "0"                 Pixel to start displaying 
  621.                                               scanline at
  622.  
  623.                                                 0 < XStart < 80, mod 4 = 0
  624.  
  625.   Display.Width           "160"               Number of pixels to display on 
  626.                                               a scanline
  627.  
  628.                                                 0 < Width < 160, mod 4 = 0
  629.  
  630.   Console.LeftDifficulty  "B"                 Default value for left difficulty
  631.  
  632.                                                 A or B
  633.  
  634.   Console.RightDifficulty "B"                 Default value for right difficulty
  635.  
  636.                                                 A or B
  637.  
  638.   Console.TelevisionType  "Color"             Default television type
  639.  
  640.                                                 Color or Mono
  641.  
  642.   Controller.Paddle0      "None"              Physical paddle to use
  643.  
  644.                                                 0, 1, 2, 3, or None
  645.  
  646.   Controller.Paddle1      "None"              Physical paddle to use
  647.  
  648.                                                 0, 1, 2, 3, or None
  649.  
  650.   Controller.Paddle2      "None"              Physical paddle to use
  651.  
  652.                                                 0, 1, 2, 3, or None
  653.  
  654.   Controller.Paddle3      "None"              Physical paddle to use
  655.  
  656.                                                 0, 1, 2, 3, or None
  657.  
  658.   Controller.Joystick0    "0"                 Physical joystick to use
  659.  
  660.                                                 0, 1, or None
  661.  
  662.   Controller.Joystick1    "1"                 Physical joystick to use
  663.  
  664.                                                 0, 1, or None
  665.  
  666.   M6507.Compatibility     Autodetected        Determines how close the
  667.                                               6507 emulation is to real thing
  668.  
  669.                                                 High or Low
  670.  
  671. 9.0 Property Autodetection
  672. ==========================
  673.  
  674. When Stella loads a ROM image it does the following:
  675.  
  676.   1) Uses the following default values:
  677.  
  678.      Display.FrameRate = 60
  679.      Display.YStart    = 38
  680.      Display.Height    = 210
  681.      Display.XStart    = 0
  682.      Display.Width     = 160
  683.  
  684.      Console.LeftDifficulty  = B 
  685.      Console.RightDifficulty = B
  686.      Console.TelevisionType  = Color
  687.  
  688.      Controller.Paddle0 = None
  689.      Controller.Paddle1 = None
  690.      Controller.Paddle2 = None
  691.      Controller.Paddle3 = None
  692.  
  693.      Controller.Joystick0 = 0
  694.      Controller.Joystick1 = 1
  695.  
  696.   2) Determines Cartridge.Type as follows:
  697.  
  698.      a) If the name of the file matches any of the known 8K Parker Brother
  699.         games then set the type to E0
  700.  
  701.      b) Use the "real" size of the ROM image to set the type to either
  702.         2K, 4K, AR, F8, F6 or F6SC
  703.  
  704.         NOTE: The type is set to F6SC if the size is 16K and the first
  705.               256 bytes are all the same value
  706.  
  707.   3) Computes the Cartridge.Id from the ROM image data
  708.  
  709. You can see that the guessing isn't all that smart and we can hopefully 
  710. make it better in later releases.  You should also noticed that it doesn't
  711. guess if the cartridge uses joysticks or paddles (it assumes joysticks).
  712.  
  713.  
  714. 10.0 Acknowledgements
  715. =====================
  716.  
  717. The following people have had a part in bringing Stella to you:
  718.  
  719.   Bob Colbert       - Allowed "Okie Dokie" to be included in the Stella
  720.                       distribution (rcolbert@novia.net)
  721.  
  722.   Ron Fries         - Author of the TiaSound library
  723.  
  724.   Aaron Giles       - Maintained the Power Mac version
  725.  
  726.   Mark R. Hahn      - Allowed "Elk Attack" to be included in the Stella
  727.                       distribution and described the TIA HMOVE blanks
  728.  
  729.   Kevin Horton      - Author of the 2600 bankswitching method paper
  730.  
  731.   Daniel Marks      - Provided code to improve the keyboard joystick support
  732.  
  733.   Jeff Miller       - Maintained the Windows version
  734.  
  735.   Bradford Mott     - Maintained the core code, Linux SVGA version and X version
  736.  
  737.   Jim Pragit        - Creator of "Game Menu" 
  738.  
  739.   Chris Salomon     - Provided information and code to implement Supercharger 
  740.                       support
  741.  
  742.   Jason Scott       - Organizer of the property file archive 
  743.                       (needed for versions before 0.7)
  744.  
  745.   Raul Silva        - Helped with the the design and graphics on the home page 
  746.  
  747.   Chris Snell       - Maintained a mirror of the Stella FTP site
  748.  
  749.   Darrell Spice Jr. - Maintained the OS/2 version
  750.  
  751.   Eckhard Stolberg  - Described TIA bug that produces stars in Cosmic Ark
  752.  
  753.   Keith Wilkins     - Maintained the DOS version until version 0.7
  754.  
  755.   Jeff Wisnia       - Provided technical data sheet for the 6532
  756.  
  757. Thanks to all the 2600 fans who've kept encouraging us to continue.
  758.  
  759.  
  760. 11.0 Revision History
  761. =====================
  762.  
  763. The following is a list of changes to Stella:
  764.  
  765.   0.6 to 0.7: (June 7, 1997)
  766.  
  767.     * Improved emulation speed of TIA and 6507
  768.  
  769.     * Added Starpath Supercharger support
  770.  
  771.     * Added Tigervision bankswitching support (3F bankswitching)
  772.  
  773.     * Added pause game feature for Unix and DOS
  774.  
  775.     * VCS files combined into a single builtin property file
  776.  
  777.     * Added TIA HMOVE "feature" to support Cosmic Ark stars
  778.  
  779.     * Improved TIA VSYNC code so that it works more like the real 
  780.       thing (0.6 VSYNC code caused the graphics of some games to 
  781.       be off such as Alien and Battle Zone)
  782.       
  783.     * Added two 6507 emulators: one is designed to act more like 
  784.       the real thing, while the other is designed to be as fast as 
  785.       possible (required for Supercharger support)
  786.  
  787.     * Changed TIA peeking so lower nibble of byte read is the same 
  788.       as the TIA address being accessed (Warlords now works)
  789.  
  790.   0.5 to 0.6: (January 18, 1997)
  791.  
  792.     * Fixed collision detection problem (Freeway works)
  793.  
  794.     * Changed PIA timing code to fix screen jitters
  795.  
  796.     * Added new bank switching methods: F4SC (Fatal Run), E7 (Burgertime)
  797.  
  798.     * Fixed some code in the TIA emulation that caused SEGFAULTS
  799.  
  800.     * Improved frame rate throttling code to work better on fast machines
  801.  
  802.     * Improved TIA emulation (missle graphics are fully emulated now)
  803.  
  804.     * Included Bob Colbert's "Okie Dokie" game
  805.  
  806.     * Uses version 1.1 of the TIA Sound library by Ron Fries
  807.  
  808.   0.4 to 0.5: (November 17, 1996)
  809.  
  810.     * Added sound support
  811.  
  812.     * Added new bank switching methods: F8SC (Defender II), FASC (CBS RAM+)
  813.  
  814.     * Changed TIA so peeking $E and $F return $F not $0 for Haunted House
  815.  
  816.     * Changed PIA timing code to fix screen jitters in Frogger
  817.  
  818.     * Addressing scheme rewritten
  819.  
  820.     * Optimized 6507 memory accesses
  821.  
  822.     * Randomized memory in PIA upon startup
  823.  
  824.     * Removed auto-disabling of objects at the start of a frame 
  825.       so you can't walk through walls in Adventure
  826.  
  827.     * Changed the X windows terminal update method to make it faster and
  828.       easier to understand
  829.  
  830.   0.3 to 0.4 (August 28, 1996):
  831.  
  832.     * TIA code has been optimized some
  833.  
  834.     * Some games can be played with just a ROM image
  835.  
  836.     * New search method for ROM images (no more STELLA_PATH)
  837.  
  838.     * Delta screen update supported
  839.  
  840.     * Better error handling added to the "core"
  841.  
  842.   0.2 to 0.3 (July 12, 1996):
  843.   
  844.     * Keyboard joystick support is much better (Daniel Marks)
  845.  
  846.     * Paddles are now supported via the mouse (Bradford Mott)
  847.  
  848.     * Many portability issues have been resolved (Keith Wilkins)
  849.  
  850.     * Fixed a problem with the 6507 ADC and SBC instructions that caused
  851.       some games (Enduro) not to work correctly (Bradford Mott)
  852.  
  853.     * Power Macintosh port (Aaron Giles)
  854.  
  855.     * Windows 95 & NT port (Jeff Miller)
  856.  
  857.